<?php

class Resposta {

    private $resposta_trad;
    //--------------------  atributos da tabela resposta
    private $idresposta;
    //-------------------- atributos da tabela pais
    private $idpais;
    private $nome_pais;
    //variaveis internas
    private $bd; //conexão com o banco
    private $tabela; //nome da tabela

    public function __construct() {
        $this->bd = new BD();
        $this->tabela = "tradresp";
    }

    public function __get($key) {
        return $this->$key;
    }

    //método de retorno de valores do objeto
    public function __set($key, $value) {
        $this->$key = $value;
    }

    //METODOS
    //BANCO DE DADOS
    public function inserir() {

        $sql = " INSERT INTO resposta (idresposta)
            SELECT MAX(idresposta)+1 AS proximo FROM resposta;

            INSERT INTO tradresp (idresposta, idpais, resposta_trad)
            VALUES ((SELECT MAX(idresposta) from resposta), $this->idpais, '$this->resposta_trad') ";

        $retorno = pg_query($sql);

        return $retorno;
    }

// --------------------------------------------------------------------------
    public function listar($complemento = "") {
        $sql = "SELECT nome_pais, idresposta, resposta_trad, tradresp.idpais FROM tradresp
                INNER JOIN pais on tradresp.idpais = pais.idpais
                ORDER BY idresposta" . $complemento;

        $resultado = pg_query($sql);
        $retorno = NULL;

        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Resposta();
            $obj->idresposta = $reg["idresposta"];
            $obj->resposta_trad = $reg["resposta_trad"];
            $obj->nome_pais = $reg["nome_pais"];
            $obj->idpais = $reg["idpais"];


            //adiciona a variavel de retorno
            $retorno[] = $obj;
        }
        return $retorno;
    }

// --------------------------------------------------------------------------
    public function listarselecionadas($complemento = "") {
        $sql = "SELECT nome_pais, idresposta, resposta_trad, tradresp.idpais FROM tradresp
                INNER JOIN pais on tradresp.idpais = pais.idpais
                where ";

        foreach ($this->idresp as $filtro) {
            $sql.= "tradresp.idresposta = $filtro or ";
        }
        $sql = substr($sql, 0, -3);
        $sql.= " ORDER BY idresposta" . $complemento;

        $resultado = pg_query($sql);
        $retorno = NULL;

        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Resposta();
            $obj->idresposta = $reg["idresposta"];
            $obj->resposta_trad = $reg["resposta_trad"];
            $obj->nome_pais = $reg["nome_pais"];
            $obj->idpais = $reg["idpais"];


            //adiciona a variavel de retorno
            $retorno[] = $obj;
        }
        return $retorno;
    }

// --------------------------------------------------------------------------
    public function excluir() {

        $sql = "DELETE FROM tradresp WHERE  idresposta =$this->idresposta ;

                DELETE FROM resposta WHERE idresposta =$this->idresposta";
        $retorno = pg_query($sql);
        return $retorno;
    }

// --------------------------------------------------------------------------
    public function atualizar() {
        $retorno = false;                                 // nome dos campos
        $sql = "update tradresp set

                     resposta_trad ='$this->resposta_trad'
                     where idresposta = '$this->idresposta'";
        $retorno = pg_query($sql);
        return $retorno;
    }

// --------------------------------------------------------------------------

    public function retornarunico() {

        $sql = "SELECT nome_pais, idresposta, resposta_trad, tradresp.idpais, idioma.nome_idioma FROM tradresp
                INNER JOIN pais on tradresp.idpais = pais.idpais
                INNER JOIN idioma on idioma.ididioma = pais.ididioma
                where idresposta = $this->idresposta ;";

        $resultado = pg_query($sql);
        $retorno = NULL;

        //percorre os registros
        $reg = pg_fetch_assoc($resultado);
        //transforma em objetos categoria
        $obj = new Resposta();
        $obj->idresposta = $reg["idresposta"];
        $obj->resposta_trad = $reg["resposta_trad"];
        $obj->nome_pais = $reg["nome_pais"];
        $obj->nome_idioma = $reg["nome_idioma"];
        $obj->idpais = $reg["idpais"];


        //adiciona a variavel de retorno
        $retorno = $obj;

        return $retorno;
    }

//---------------------------------------------------------------------------
    public function listarpais($complemento = "") {
        $sql = "SELECT * FROM pais
                INNER JOIN idioma on idioma.ididioma = pais.ididioma" . $complemento;

        $resultado = pg_query($sql);
        $retorno = NULL;

        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Resposta();
            $obj->idpais = $reg["idpais"];
            $obj->nome_pais = $reg["nome_pais"];
            $obj->nome_idioma = $reg["nome_idioma"];


            //adiciona a variavel de retorno
            $retorno[] = $obj;
        }
        return $retorno;
    }

// --------------------------------------------------------------------------

    public function retornaRespostas($id) {
        $sql = "SELECT pergresp.*,pergunta.*,perdica.* FROM pergresp
                INNER JOIN pergunta on pergresp.idpergunta = pergunta.idpergunta
                INNER JOIN perdica on pergresp.idpergunta = pergunta.idpergunta
                WHERE pergunta.idpergunta = " . $id;

        $resultado = pg_query($sql);
        $retorno = NULL;

        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Resposta();
            $obj->idresposta = $reg["idresposta"];
            $obj->resposta_trad = $reg["resposta_trad"];
            $obj->nome_pais = $reg["nome_pais"];
            $obj->idpais = $reg["idpais"];


            //adiciona a variavel de retorno
            $retorno[] = $obj;
        }
        return $retorno;
    }

// --------------------------------------------------------------------------
}

?>